package org.voidness.oje2d.interfaces;

/** An interface to define a game using the engine. */
public interface EngineInterface {
    
    /** Initialization method. */
    public void init();

    /** Game logic goes here */
    public void logic();

    /** Rendering method. Every game must have one. */
    public void render();

    /** A method called when the engine exits */
    public void onEngineExit();

    /** This is called when a keyboard key is pressed */
    public void keyPressed(int eventKey, char eventCharacter);

    /** This is called when a keyboard key is released */
    public void keyReleased(int eventKey, char eventCharacter);

    /** This is called when a mouse button is pressed */
    public void mousePressed(int mButton);

    /** This is called when a mouse button is released */
    public void mouseReleased(int mButton);
}